import type { Config } from 'tailwindcss'
import { getIconCollections, iconsPlugin } from '@egoist/tailwindcss-icons'
import cssMacro from 'weapp-tailwindcss/css-macro'
import { isMp } from './platform'

export default <Config>{
  content: ['./index.html', './src/**/*.{html,js,ts,jsx,tsx,vue}'],
  theme: {
    extend: {
      colors: {
        // 你可以在这里进行颜色的扩展
        primary: {
          'DEFAULT': 'var(--color-primary, #fcd34d)',
          'hover': 'var(--color-primary-hover, #fbbf24)',
          'dark': 'var(--color-primary-dark, #f59e0b)',
          'dark-hover': 'var(--color-primary-dark-hover, #d97706)',
        },
        onPrimary: {
          'DEFAULT': 'var(--color-on-primary, #030712)',
          'dark': 'var(--color-on-primary-dark, #f3f4f6)',
        },
        secondary: {
          'DEFAULT': 'var(--color-secondary, #8b5cf6)',
        },
        onSecondary: {
          'DEFAULT': 'var(--color-on-secondary, #FFFFFF)'
        },
        surface: {
          'DEFAULT': 'var(--color-surface, #FFFFFF)',
          'dark': 'var(--color-surface-dark, #030712)'
        },
        onSurface: {
          'DEFAULT': 'var(--color-on-surface, #030712)',
          'dark': 'var(--color-on-surface-dark, #FFFFFF)'
        },
        error: {
          'DEFAULT': 'var(--color-error, #EF4444)',
        },
        onError: {
          'DEFAULT': 'var(--color-on-error, #FFFFFF)'
        },
      },
      maxHeight: {
        'vh': '100vh',
      },
      minHeight: {
        'vh': '100vh',
      },
    },
  },
  // https://weapp-tw.icebreaker.top/docs/quick-start/uni-app-css-macro
  plugins: [
    cssMacro({
      variantsMap: {
        'wx': 'MP-WEIXIN',
        '-wx': {
          value: 'MP-WEIXIN',
          negative: true,
        },
        // 定义多个条件判断
        // mv: {
        //   value: 'H5 || MP-WEIXIN'
        // },
        // '-mv': {
        //   value: 'H5 || MP-WEIXIN',
        //   negative: true
        // }
      },
    }),
    iconsPlugin({
      // 在这里可以选择你要使用的 icon, 更多详见:
      // https://icon-sets.iconify.design/
      collections: getIconCollections(['svg-spinners', 'mdi']),
    })
  ],
  corePlugins: {
    // 小程序去使用 h5 的 preflight 和响应式 container 没有意义
    preflight: !isMp,
    container: !isMp,
  },
}
